# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Library of Babel Template

game: Library of Babel
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.

Library of Babel:
  ################
  # Game Options #
  ################
  goal_mode:
    # Goal selection
    hana_act1: 0
    sotc3_any: 50
    sotc2_any: 0
    sotc3_full: 0
    sotc2_full: 0

  goal_unlocked_from_start:
    # Unlocks goal receptions on start
    'false': 50
    'true': 0

  #########
  # Traps #
  #########
  trap_chance:
    # Percent of filler items that are replaced by traps.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    30: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  trap_locks_battle_menu:
    # When a trap is applied during battle, lock battle escape/restart buttons in ESC menu.
    # 
    # But you still can quit game...
    'false': 0
    'true': 50

  stagger_random_librarian_weight:
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  seal_every_librarian_weight:
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  seal_random_librarian_weight:
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  p_plus_space_weight:
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  scene_start_weight:
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  the_red_mist_is_coming_weight:
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  ######################
  # Book of Everything #
  ######################
  boe_mode:
    # Chaos:
    # BoE drops are fully random
    # 
    # Balanced:
    # Burning more BoEs = higher chapter rewards, starting from canard pool
    chaos: 50
    balanced: 0

  boe_tiering:
    # Select what pages will occur in boe drop pool
    # 
    # Downtier:
    # Only pages below goal repcetions are obtainable
    # 
    # Sametier:
    # Pages from goal receptions can be obtained
    # 
    # Uptier:
    # Pages from receptions above goal can be obtained (equal to sametier if goal = hana)
    # 
    # Uptier+:
    # Oliver, Ensemble and Black Silence pages are included in boe pool
    downtier: 50
    sametier: 0
    uptier: 0
    uptier_plus: 0

  ##############
  # Death Link #
  ##############
  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  incoming_death_link_mode:
    # Select what happens when a Death Link is received from another player.
    # 
    # Lose Reception:
    # Immediately loses the entire reception, including all remaining floors.
    # 
    # Lose Floor:
    # Defeats only the current floor. The reception can continue on another floor when available.
    # 
    # Kill Random Librarian:
    # Kills one random librarian.
    lose_reception: 50
    lose_floor: 0
    kill_random_librarian: 0

  outgoing_death_link_mode:
    # Select when this client sends Death Link to other players.
    # 
    # On Reception Loss:
    # Send only when the entire reception is lost.
    # 
    # On Floor Loss:
    # Send whenever the current floor is defeated.
    # 
    # On Librarian Death:
    # Send when a librarian dies.
    on_reception_loss: 50
    on_floor_loss: 0
    on_librarian_death: 0

  ###################
  # Page Randomizer #
  ###################
  do_not_randomize_goal_receptions:
    # Prevent Page Randomizer from changing enemy key pages and decks used by goal receptions.
    # 
    # This keeps goal fights from becoming much easier due to low HP/SR rolls or harmless passives.
    'false': 0
    'true': 50

  randomize_combat_page_dice:
    # Randomize dice between regular combat pages.
    'false': 50
    'true': 0

  randomize_ego_combat_page_dice:
    # Randomize EGO pages dices.
    'false': 50
    'true': 0

  randomize_key_page_stats:
    # Randomize key page stats such as HP, SR, speed and Dmg resists.
    'false': 50
    'true': 0

  randomize_key_page_passives:
    # Randomize regular key page passives, that can be transfered.
    # 
    # Untransferable passives is locked on its key pages and isn't randomized.
    'false': 50
    'true': 0

  randomize_boss_exclusive_passives:
    # Disabled:
    # Boss-exclusives stay on their original bosses and are excluded from the randomizer pool.
    # 
    # Enabled:
    # Boss-exclusives are treated as regular randomizable passives,
    # except for hard-preserved boss passives that must never be removed.
    'false': 50
    'true': 0

  randomize_key_page_speed_dice_amount:
    # Randomize key page speed dice amount with weighted odds favoring lower values.
    'false': 50
    'true': 0

  randomize_key_page_passives_amount:
    # Randomize how many extra regular passives are added to each key page.
    # 
    # Requires "Randomize Key pages passives" to have any effect.
    'false': 50
    'true': 0

  randomize_combat_page_passives:
    # Experimental combat page script/passive-effect randomization within safe page buckets.
    'false': 50
    'true': 0

  ignore_combat_dice_bundles:
    # Randomize combat page dice from one shared dice pool instead of preserving page/range bundles.
    # 
    # This is experimental and can put mass-attack dice on normal pages or normal dice on mass attacks.
    'false': 50
    'true': 0

  randomize_combat_dice_amount:
    # Roll a new dice count for each randomized combat page.
    # 
    # Counts 1-3 are common, while 4-7 become increasingly rare.
    'false': 50
    'true': 0

  randomize_unique_key_page_passives:
    # Randomize untransferable key page passives while preserving hard-locked boss passives.
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
